package com.kantboot.system.user.service;

import com.kantboot.system.user.domain.vo.SysUserOfSelfVO;

/**
 * 用户绑定服务
 */
public interface ISysUserBindService {

    /**
     * 临时用户根据手机号码+验证码绑定
     * @param phone 手机号码
     * @param varCode 验证码
     * @return 登录VO
     */
    SysUserOfSelfVO bindWithPhoneAndVarCodeAtTemporary(String phone, String varCode);

    /**
     * 临时用户根据邮箱+验证码绑定
     * @param email 邮箱
     * @param varCode 验证码
     * @return 登录VO
     */
    SysUserOfSelfVO bindWithEmailAndVarCodeAtTemporary(String email, String varCode);

    /**
     * 临时用户根据手机号码+验证码绑定（安全）
     * @param phone 手机号码
     * @param varCode 验证码
     * @return 登录VO
     */
    SysUserOfSelfVO bindWithPhoneAndVarCodeAtTemporaryWithSecurity(String phone, String varCode);

    /**
     * 临时用户根据邮箱+验证码绑定（安全）
     * @param email 邮箱
     * @param varCode 验证码
     * @return 登录VO
     */
    SysUserOfSelfVO bindWithEmailAndVarCodeAtTemporaryWithSecurity(String email, String varCode);

    /**
     * 跳过临时绑定
     */
    SysUserOfSelfVO skipTemporaryBind();

}
